1. Field of the Invention
The invention relates to electrical buses which serve as a common communications link between a plurality of nodes.
2. Prior Art
A common bus which may comprise a single coaxial cable, a plurality of lines, or other configurations is frequently used to provide communications among a plurality of nodes. In a typical application, terminals, a central processing unit, or coprocessors, mass storage means, and other equipment are linked by the common bus. There are many prior art techniques which permit the nodes to share the bus on a time division basis.
In one technique, no central control for bus access is used. Each node is able to detect if the bus is in use, and if it is not in use, a node desiring bus access begins transmitting. Each node includes circuitry to detect a collision condition on the bus, that is, more than a single node transmitting at the same time. When collisions are detected, retransmission is tried at randomized time intervals. A popular version of this technique is referred to as "Ethernet". This technique is more adaptable for local area networks and where maximizing the number of transmissions over the bus is not necessary.
In another arrangement, each node is permitted access to the bus during predetermined periods or when the node has possession of a "token". The token is passed from node-to-node in a predetermined order or a dynamic ordering is used based on priorities.
In other systems, a centralized arbitration means is used to determine which of the nodes should be given access to the bus. Many different queuing and priority arrangements are in use.
As will be seen, the present invention employs a distributed arbitration means where each node independently determines its priority (rotating priority) and where each node maintains a unique priority.
Various protocols are used on bus systems to indicate that a transmission has been received. This acknowledgement, particularly for long transmissions, can acknowledge, for instance, that the received data has not only been received but verified through use of a parity check or error detection code. One problem that occurs in some systems is that a popular receiving node is penalized when it makes acknowledgement transmission. Such transmissions can lower the node's priority and greatly hinder the node's ability to transmit its own data. As will be seen, the invented bus apparatus employs a two-level priority arrangement. Nodes are not penalized in the priority arrangement for transmitting of required acknowledgements. This fairer protocol prevents a popular receiving node from being penalized merely because it is the destination for many transmissions.
In general, those bus systems which have distributed control for bus accessing such as Ethernet, have more flexibility. One problem with distributed control, however, is that it is difficult to detect the origin of a failure. Thus, for instance, if one node continually seizes control of the bus or interferes with the transmissions of other nodes, it may be difficult to determine which node is causing the problem. As will be seen, the invented bus apparatus includes error means for identifying bus problems and further, for identifying nodes associated with, for instance, a collision condition.
In general, when compared to the prior art the invented bus permits very efficient use of the bus with fair access permitted by all nodes in a highly reliable manner.